//对象扩展
{
    //声明
    let a1 = Symbol()
    let a2 = Symbol()
    console.log('Symbol', a1 === a2)//false
    let a3 = Symbol.for('a3')
    let a4 = Symbol.for('a3')
    console.log('Symbol.for', a3 === a4)//true
}


{
    let a1 = Symbol.for('abc')
    let obj = {
        [a1]: '123',
        'abc': 345,
        'c': 456
    }
    //对象作为名：给对应的值
    console.log('obj', obj);


    for (let [key, value] of Object.entries(obj)) {
        console.log('🏪遍历obj-let of', key, value);
    }


    //返回对象自有对Symbol属性，obj有的Symbol属性为[a1]: '123'，所以返回这个
    Object.getOwnPropertySymbols(obj).forEach(function (item) {
        console.log('item:', item);

        console.log('obj[item]:', obj[item]);
    })


    Reflect.ownKeys(obj).forEach(function (item) {
        console.log('ownKeys:', item, obj[item]);

    })

}